Skip to content

Add Advanced Copilot CLI course to the Learning Hub - #2800

Closed
GeekTrainer wants to merge 5 commits into
github:mainfrom
GeekTrainer:geektrainer/advanced-copilot-cli-learning-hub
Closed

Add Advanced Copilot CLI course to the Learning Hub#2800
GeekTrainer wants to merge 5 commits into
github:mainfrom
GeekTrainer:geektrainer/advanced-copilot-cli-learning-hub

Conversation

@GeekTrainer

@GeekTrainer GeekTrainer commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Note

For human review — please do not auto-merge. This PR publishes a new Learning Hub course and its content-sync workflow into github/awesome-copilot.

Summary

Publishes the Advanced Copilot CLI course into the awesome-copilot Learning Hub, mirroring the established cli-for-beginners / copilot-workshops precedent. Three parts: a content-sync agentic workflow, the seeded course mirror, and navigation wiring.

1. Content-sync workflow

.github/workflows/advanced-copilot-cli-sync.md (+ compiled advanced-copilot-cli-sync.lock.yml) — a sibling to cli-for-beginners-sync and copilot-workshops-sync.

  • Weekly schedule + workflow_dispatch; permissions contents: read, copilot-requests: write.
  • Runs read-only against the public github-samples/advanced-copilot-cli and opens incremental PRs to keep the mirror aligned.
  • PRs are labelled automated-update, learning-hub, advanced-copilot-cli and are for human review (never auto-merged).
  • The lock file is compiled with gh-aw v0.84.3, matching the repository's other workflow locks.

2. Course mirror

Deterministically mirrored from the upstream source (transformed for the site: frontmatter, GitHub admonitions preserved, site-absolute image paths, trailing-slash internal links):

  • Course landing learning-hub/advanced-copilot-cli/index.md (intro + module table)
  • Nine module pages learning-hub/advanced-copilot-cli/00-prerequisites.md08-wrap-up.md, living directly under the course folder
  • Five images under website/public/images/learning-hub/advanced-copilot-cli/

3. Navigation wiring

  • website/astro.config.mjs: a single "Advanced Copilot CLI" sidebar group — an Overview link followed by the nine modules listed directly — placed after "Copilot Workshops".
  • website/src/content/docs/learning-hub/index.md: a short course entry.

Validation

  • gh aw compile succeeds — lock file committed.
  • npm run website:build passes; all pages render and every sidebar slug maps to a real file.
  • Line endings verified LF on all changed files.

Publish the "Advanced Copilot CLI" course into the awesome-copilot
Learning Hub, mirroring the copilot-workshops / cli-for-beginners
precedent.

- Add content-sync agentic workflow
  (.github/workflows/advanced-copilot-cli-sync.md + compiled .lock.yml).
  Runs read-only against the now-public github-samples/advanced-copilot-cli
  and opens PRs for human review. staged:true removed (flip-to-live).
- Seed the mirrored course tree: course landing + multi-stack track
  overview + nine module pages (00-08) under
  website/src/content/docs/learning-hub/advanced-copilot-cli/, plus five
  images under website/public/images/learning-hub/advanced-copilot-cli/.
- Wire navigation: "Advanced Copilot CLI" sidebar group (nested
  "Multi-stack (AssetTrack)") in website/astro.config.mjs after
  "Copilot Workshops", and a course entry in learning-hub/index.md.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings August 25, 2026 17:39
@github-actions github-actions Bot added new-submission PR adds at least one new contribution website-update PR touches website content or code workflow PR touches workflow automation labels Aug 25, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Publishes the Advanced Copilot CLI course in the Learning Hub and adds weekly upstream synchronization.

Changes:

  • Adds nine course modules and five diagrams.
  • Adds navigation and course discovery.
  • Adds and compiles the synchronization workflow.
Show a summary per file
File Description
.github/aw/actions-lock.json Updates agentic workflow action pins.
.github/workflows/advanced-copilot-cli-sync.md Defines weekly course synchronization.
.github/workflows/advanced-copilot-cli-sync.lock.yml Compiles the synchronization workflow.
website/astro.config.mjs Adds course sidebar navigation.
website/src/content/docs/learning-hub/index.md Links the new course.
website/src/content/docs/learning-hub/advanced-copilot-cli/index.md Adds the course landing page.
website/src/content/docs/learning-hub/advanced-copilot-cli/multi-stack/index.md Adds the module index.
.../multi-stack/00-prerequisites.md Adds environment setup.
.../multi-stack/01-working-with-copilot-cli.md Introduces Copilot CLI fundamentals.
.../multi-stack/02-building-ai-infrastructure.md Covers instructions, agents, and skills.
.../multi-stack/03-test-suite-remote-delegation.md Covers testing and delegation.
.../multi-stack/04-lifecycle-hooks.md Covers lifecycle hooks.
.../multi-stack/05-add-feature-barcode.md Adds the feature-development exercise.
.../multi-stack/06-modernize-apps.md Adds modernization exercises.
.../multi-stack/07-manage-infrastructure.md Covers MCP servers and plugins.
.../multi-stack/08-wrap-up.md Concludes the course.
.../03-test-evidence-loop.png Illustrates the testing feedback loop.
.../03-test-backed-workflow.png Illustrates the test-backed workflow.
.../03-delegation-handoff-flow.png Illustrates delegated work.
.../03-copilot-work-surfaces.png Compares Copilot work surfaces.
.../03-remote-control-flow.png Illustrates remote session control.

Review details

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Suppressed comments (1)

website/src/content/docs/learning-hub/advanced-copilot-cli/multi-stack/02-building-ai-infrastructure.md:13

  • Correct the misspelling; the repository's codespell check will flag it.
Every time you start a fresh Copilot CLI session, the agent only sees your raw files in the working directory. Without shared instructions, guidlines and codified conventions, you have to keep re-explaining your stacks and re-establishing your coding standards. That repetition makes sessions much slower and produces inconsistent output, so in this module, we build the **AI infrastructure** that makes future interactions with Copilot faster and more accurate.
  • Files reviewed: 15/21 changed files
  • Comments generated: 21
  • Review effort level: Balanced

Comment thread .github/aw/actions-lock.json Outdated
cache-memory: true
safe-outputs:
create-pull-request:
labels: [automated-update, learning-hub, advanced-copilot-cli]
Comment thread .github/workflows/advanced-copilot-cli-sync.md Outdated
- Supporting assets in `content/images/`
- Any change to module structure, order, or titles

4. If a local mirror **already exists** and **no commits** were found since the last sync, do **not** immediately no-op on the strength of the cached SHA alone. The cached `last_synced_sha` is only advanced optimistically when a PR is opened (see Step 5), so a previously opened sync PR that was later **closed or rejected** can leave the cache pointing at a commit whose content never actually reached `main`. Before short-circuiting, **verify the checked-out mirror is genuinely consistent with the current upstream content** (spot-check that every upstream module and image is present in the mirror and not obviously stale). Only if the mirror both is up to date on SHA **and** matches upstream should you call the `noop` safe output with a message like: "No new commits found in `github-samples/advanced-copilot-cli@main` since last sync (`<last_synced_sha>`), and the local mirror matches upstream. No action needed." If the SHA suggests nothing changed but the mirror is actually missing or stale, proceed to Step 2+ and open a PR anyway so a rejected/closed earlier PR cannot permanently hide the update.
6. Fill out the form, using <kbd>Tab</kbd> to move between fields, with the following information:
- **Server Name**: `playwright`
- **Server type**: **STDIO**
- **Command**: `npx @playwright/mcp@latest`
The [!CAUTION] block describing safe-outputs.staged:true mode is now
contradictory since the workflow runs live (staged:true was removed
from the config). Drop the block from the markdown body; regenerate the
lock file's body_hash to match.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings August 25, 2026 19:43
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review details

Suppressed comments (1)

.github/aw/actions-lock.json:26

  • This downgrades the shared action lock from gh-aw v0.84.3 to v0.81.6 and removes the existing setup-cli entry, while the repository's other generated workflow locks still require setup v0.84.3. Recompile this workflow with the repository's current gh-aw v0.84.3 so both this registry and advanced-copilot-cli-sync.lock.yml are generated consistently.
    "github/gh-aw-actions/setup@v0.81.6": {
      "repo": "github/gh-aw-actions/setup",
      "version": "v0.81.6",
      "sha": "ba6380cc6e5be5d21677bebe04d52fb48e3abec7"
  • Files reviewed: 15/21 changed files
  • Comments generated: 3
  • Review effort level: Balanced

Comment on lines +15 to +18
create-pull-request:
labels: [automated-update, learning-hub, advanced-copilot-cli]
title-prefix: "[bot] "
base-branch: main
Copilot AI review requested due to automatic review settings August 25, 2026 19:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review details

Suppressed comments (6)

Previously missed (3) — in code that hasn't changed since the last review.

.github/workflows/advanced-copilot-cli-sync.md:28

  • The declared source is already ahead of the seeded mirror. Current main uses github-samples/contoso-inventory in Modules 0, 3, and 8 and github-samples/advanced-copilot-cli in the Module 4 download and Module 6 MCP prompt, while the added pages still reference the old GeekTrainer repositories. Refresh the seed from current upstream before publishing so the initial mirror satisfies the PR's alignment claim.
- **Repository:** [`github-samples/advanced-copilot-cli`](https://github.com/github-samples/advanced-copilot-cli)
- **Branch / ref to read from:** `main` (the repository's default branch)

website/src/content/docs/learning-hub/advanced-copilot-cli/multi-stack/02-building-ai-infrastructure.md:202

  • .copilot/skills/ is not a supported repository-level Agent Skills location, and this statement contradicts the working .github/skills/ path used in step 5. Learners following this explanation can create a skill that Copilot CLI does not discover.
Custom agents introduce *specialized personas*. **Agent skills** change what Copilot *knows* to do. A skill is a packaged capability, could include an instruction set, optional scripts and resources - that the agent can invoke **at runtime** when the task matches its trigger. Skills live in `.copilot/skills/` (for repo-scoped) or `~/.copilot/skills/` (for user-scoped) and in Copilot CLI, you use `/skills` to view and manage them.

website/src/content/docs/learning-hub/advanced-copilot-cli/multi-stack/06-modernize-apps.md:82

  • This renders as a standalone ordered-list item numbered “2,” because the preceding LSP explanation is a normal paragraph rather than item 1. Remove the 2. prefix (or make both extension points a real two-item list) so the section is not visibly misnumbered. Apply the correction upstream as well to preserve mirror fidelity.

This issue also appears on line 258 of the same file.

2. **An MCP server** extends what Copilot can *do*; a documentation MCP server points that extension at first-party docs. [Model Context Protocol (MCP)][mcp-concept] is an open standard for giving a model access to external tools and data, and Copilot CLI ships with the GitHub MCP server built in. For a Spring Boot major upgrade the documentation that matters is the frameworks' own, and the most direct way to reach it is [GitMCP][gitmcp], an open-source server that turns any public GitHub repository into a documentation surface. Point it at `spring-projects/spring-boot` and Copilot reads Spring's own docs straight from the source, with no account or API key — and because it's open source you can self-host it. Pointing Copilot at a live docs surface is what keeps its framework claims tied to current guidance instead of whatever version happened to be current when its training data was frozen. For a framework major upgrade where the whole point is that things changed, that freshness is the difference between advice you can trust and advice you have to re-verify by hand.  

.github/workflows/advanced-copilot-cli-sync.md:18

  • create-pull-request currently permits patches to any repository path. This sync agent only needs the course mirror, images, navigation, and optional codespell allowlist, so leaving the output unrestricted unnecessarily expands the blast radius of upstream prompt content.
  create-pull-request:
    labels: [automated-update, learning-hub, advanced-copilot-cli]
    title-prefix: "[bot] "
    base-branch: main

.github/aw/actions-lock.json:26

  • This recompilation downgrades the repository-wide gh-aw action pin from v0.84.3 to v0.81.6 and removes the v0.84.3 setup-cli entry, although existing generated workflows and copilot-setup-steps.yml still use those v0.84.3 actions. Recompile this workflow with the repository's current gh-aw version and regenerate both lock artifacts without replacing the shared pins with an older runtime.
    "github/gh-aw-actions/setup@v0.81.6": {
      "repo": "github/gh-aw-actions/setup",
      "version": "v0.81.6",
      "sha": "ba6380cc6e5be5d21677bebe04d52fb48e3abec7"

website/src/content/docs/learning-hub/advanced-copilot-cli/multi-stack/06-modernize-apps.md:258

  • Calling Jackson 3.1.4 “still-vulnerable” appears backwards: the published 3.1.x Jackson advisories identify 3.1.4 as the fixed release (for example, GHSA-5jmj-h7xm-6q6v affects versions before 3.1.4). Either cite a newer advisory whose affected range includes 3.1.4 or remove the forced BOM override; otherwise learners are instructed to change dependency management based on an unsupported security claim.
    Watch the agent work the loop: it bumps the `spring-boot-starter-parent` to Spring Boot `4.1.0` and the `java.version` from `17` to `21`, re-points the `jackson-bom` currency pin at a CVE-clean Jackson 3 (Boot 4.1.0 otherwise resolves a still-vulnerable Jackson `3.1.4`), and builds and tests after each phase. When the LSP is active, notice that it locates callers and symbols precisely rather than grepping.
  • Files reviewed: 15/21 changed files
  • Comments generated: 1
  • Review effort level: Balanced

@aaronpowell aaronpowell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two fixes identified in the comments.

I'm a little unsure on is the terminology "AssetTrack" - is this a product or something that readers should be familiar with when they come to the section of the website?

Comment thread .github/aw/actions-lock.json Outdated
"sha": "c863074b673419603d146aab585e2986ef08deec"
},
"github/gh-aw-actions/setup@v0.84.3": {
"github/gh-aw-actions/setup@v0.81.6": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a downgrade of the AW action - can it be reverted.


When doing standard development, the first step is often to fork or clone the repository you'll be contributing to. For our course, since you'll be working through the exercises on your own, you'll grab a separate copy of the project. You'll do this by creating a new instance of the repository by using a [template repository][github-template-docs] on your own personal GitHub account.

1. In your browser, navigate to [https://github.com/geektrainer/legacy-app](https://github.com/geektrainer/legacy-app).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This link appears broken

@GeekTrainer

Copy link
Copy Markdown
Contributor Author

Closing as superseded by #2817, which was merged onto the existing awesome-copilot framework. We'll fold the Advanced Copilot CLI course into the IA overhaul on the new design later. Thanks!

@GeekTrainer GeekTrainer reopened this Aug 27, 2026
@GeekTrainer

GeekTrainer commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

Sorry. There was a vestigial breakdown that shouldn't have been there which showed AssetTrack as a title. That's been removed.

- Re-sync all nine modules from latest github-samples/advanced-copilot-cli
  (fixes broken template link, typos/grammar, --yolo -> scoped --allow-tool,
  pinned/curl --fail script download, human review gate, skills path)
- Flatten the multi-stack track: modules now live directly under
  advanced-copilot-cli/, single course landing, simplified sidebar group
- Keep gh-aw actions lock at v0.84.3 (revert the v0.81.6 downgrade) and
  recompile the sync workflow lock accordingly
- Model the sync workflow's no-op/cache handling on the beginner sync

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 86d57605-5c3a-4249-aee6-8d592a173954
Copilot AI review requested due to automatic review settings August 27, 2026 20:19
@GeekTrainer

Copy link
Copy Markdown
Contributor Author

@aaronpowell we've addressed both the CCR feedback and your comments. Thanks for the review!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

Review tier: Balanced
Findings: 3 High severity · 2 Medium severity · 1 Low severity

New issues introduced by this change (2)
Severity Finding
High severity .github/​workflows/​advanced-copilot-cli-sync.md — The workflow does not pin a model, so the generated lock falls back to auto. That fallback has…
Low severity website/​astro.config.mjs — The PR description promises a nested Multi-stack (AssetTrack) sidebar group and an additional…
Pre-existing issues (4)
Severity Finding
High severity .github/​workflows/​advanced-copilot-cli-sync.md — This sync reads untrusted upstream course content and can currently submit changes anywhere in the… View comment
High severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​05-add-feature-barcode.md — This launches a mutable latest package while the session is in YOLO mode, so a future package… View comment
Medium severity .github/​workflows/​advanced-copilot-cli-sync.md — After a sync PR is opened, the cache advances but main remains stale until that PR merges. On the… View comment
Medium severity .github/​workflows/​advanced-copilot-cli-sync.md — The advanced-copilot-cli label does not currently exist in this repository, so the safe-output… View comment
Issues resolved since last review (21)
Severity Finding
High severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​05-add-feature-barcode.md — A Codespace is disposable, but it is not credential-free: this course relies on its authenticated… View resolved comment
Medium severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​06-modernize-apps.md — This sends learners to the old personal course repository even though this PR declares… View resolved comment
Medium severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​04-lifecycle-hooks.md — The PR and sync workflow establish github-samples/advanced-copilot-cli as the source of truth,… View resolved comment
Medium severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​02-building-ai-infrastructure.md — The repository-scoped path is inconsistent with the exercises below and Module 6, which install… View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​07-manage-infrastructure.md — Use the plural verb to agree with the compound subject “plugin and MCP work.” View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​07-manage-infrastructure.md — Add the missing article before “single repository.” View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​07-manage-infrastructure.md — Remove the stray table delimiter and normalize the numbered-list sentence. View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​07-manage-infrastructure.md — Remove the extra colon after the sentence-ending period. View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​04-lifecycle-hooks.md — Remove the unmatched closing parenthesis. View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​06-modernize-apps.md — The phrase “following the steps lessons” is malformed; add the missing conjunction. View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​06-modernize-apps.md — Remove the duplicated article from the learner prompt. View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​06-modernize-apps.md — The phrase “time to being complex operations” is ungrammatical; use “time to perform complex… View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​02-building-ai-infrastructure.md — Remove the duplicated article from the learner prompt. View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​04-lifecycle-hooks.md — Correct the misspelling; the repository's codespell check will flag it. View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​index.md — Correct the misspelling copied into the module summary; the repository's codespell check will flag… View resolved comment
Low severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​02-building-ai-infrastructure.md — Correct the misspelling; the repository's codespell check will flag it. This issue also appears on… View resolved comment
High severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​07-manage-infrastructure.md — This asks the agent to merge generated MCP server code as soon as CI finishes, leaving no human… View resolved comment
High severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​04-lifecycle-hooks.md — This downloads and then executes a shell script from the mutable main branch, allowing any later… View resolved comment
Medium severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​00-prerequisites.md — The default template-repository flow does not copy non-default branches, but Modules 2–7 tell… View resolved comment
Low severity .github/​workflows/​advanced-copilot-cli-sync.md — This warning contradicts the live configuration and PR description: staged is absent and the… View resolved comment

And 1 more resolved.

Suppressed comments (3)

.github/workflows/advanced-copilot-cli-sync.md:6

  • This production workflow omits strict: true, so compiler warnings and permissive defaults are not elevated during validation. Add strict mode and regenerate the lock file so unsupported or unsafe workflow configuration fails at compile time rather than reaching the scheduled run.
on:
  schedule: weekly
  workflow_dispatch:

.github/workflows/advanced-copilot-cli-sync.md:18

  • create-pull-request has no allowed-files restriction, so a compromised or mistaken sync agent can include unrelated repository files in its PR. Restrict it to this course's docs/image subtrees plus the two navigation files, then regenerate the lock; prompt-level scope is not an enforcement boundary.
  create-pull-request:
    labels: [automated-update, learning-hub, advanced-copilot-cli]
    title-prefix: "[bot] "
    base-branch: main

.github/workflows/advanced-copilot-cli-sync.md:105

  • The cache is advanced when a sync PR is opened, not when it merges. If that PR is closed or rejected, the next run finds no commits after the cached SHA and this instruction immediately no-ops, permanently hiding the unmerged update. Treat the SHA only as a hint: verify the checked-out mirror still matches upstream before no-oping, as the sibling copilot-workshops-sync.md:123 does.
4. If **no commits** were found since the last sync, stop here and call the `noop` safe output with a message like: "No new commits found in `github-samples/advanced-copilot-cli@main` since last sync (`<last_synced_sha>`). No action needed." Then update the cache with the latest SHA.

Comment on lines +2 to +3
name: "Advanced Copilot CLI Content Sync"
description: "Weekly check for updates to the Advanced Copilot CLI source repo (github-samples/advanced-copilot-cli). Opens a PR to keep the Learning Hub mirror aligned when substantive upstream course changes are detected."
Comment thread website/astro.config.mjs
Comment on lines +234 to +238
label: "Advanced Copilot CLI",
items: [
{
label: "Overview",
link: "/learning-hub/advanced-copilot-cli/",
Match the copilot-workshops sync pattern so a rejected/closed sync PR
cannot permanently hide an unmerged upstream update: verify the mirror
matches upstream before no-op, and keep the cache "optimization hint" note.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 86d57605-5c3a-4249-aee6-8d592a173954
Copilot AI review requested due to automatic review settings August 27, 2026 22:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

Review tier: Balanced
Findings: 3 High severity · 3 Medium severity · 1 Low severity

New issues introduced by this change (1)
Severity Finding
Medium severity .github/​workflows/​advanced-copilot-cli-sync.md — On a missing/expired cache, limiting discovery to seven days loses the seeded baseline. If the…
Pre-existing issues (6)
Severity Finding
High severity .github/​workflows/​advanced-copilot-cli-sync.md — The workflow does not pin a model, so the generated lock falls back to auto. That fallback has… View comment
High severity .github/​workflows/​advanced-copilot-cli-sync.md — This sync reads untrusted upstream course content and can currently submit changes anywhere in the… View comment
High severity website/​src/​content/​docs/​learning-hub/​advanced-copilot-cli/​multi-stack/​05-add-feature-barcode.md — This launches a mutable latest package while the session is in YOLO mode, so a future package… View comment
Medium severity .github/​workflows/​advanced-copilot-cli-sync.md — After a sync PR is opened, the cache advances but main remains stale until that PR merges. On the… View comment
Medium severity .github/​workflows/​advanced-copilot-cli-sync.md — The advanced-copilot-cli label does not currently exist in this repository, so the safe-output… View comment
Low severity website/​astro.config.mjs — The PR description promises a nested Multi-stack (AssetTrack) sidebar group and an additional… View comment
Suppressed comments (4)

Previously missed (2) — in code that hasn't changed since the last review.

.github/workflows/advanced-copilot-cli-sync.md:14

  • The workflow supports syncing images but retains the 4 MiB default PR patch limit. The current five upstream course images total about 5.9 MiB, so a refresh that replaces all of them cannot produce a PR even though it is well below the documented 100-file threshold. Raise the limit (or add byte-based batching) and recompile.
safe-outputs:

website/src/content/docs/learning-hub/advanced-copilot-cli/06-modernize-apps.md:82

  • This renders as an orphaned ordered-list item numbered “2”, but there is no item 1 in this section. Remove the numbering so the LSP and MCP paragraphs remain parallel prose.
2. **An MCP server** extends what Copilot can *do*; a documentation MCP server points that extension at first-party docs. [Model Context Protocol (MCP)][mcp-concept] is an open standard for giving a model access to external tools and data, and Copilot CLI ships with the GitHub MCP server built in. For a Spring Boot major upgrade the documentation that matters is the frameworks' own, and the most direct way to reach it is [GitMCP][gitmcp], an open-source server that turns any public GitHub repository into a documentation surface. Point it at `spring-projects/spring-boot` and Copilot reads Spring's own docs straight from the source, with no account or API key — and because it's open source you can self-host it. Pointing Copilot at a live docs surface is what keeps its framework claims tied to current guidance instead of whatever version happened to be current when its training data was frozen. For a framework major upgrade where the whole point is that things changed, that freshness is the difference between advice you can trust and advice you have to re-verify by hand.  

.github/workflows/advanced-copilot-cli-sync.md:10

  • The workflow leaves the model unset, so the compiled lock falls back to auto (advanced-copilot-cli-sync.lock.yml:115,839). This repository has already seen auto rejected because it has no AI-credit pricing; pin a priced model and recompile the lock file so scheduled syncs do not fail before doing any work.
tools:

.github/workflows/advanced-copilot-cli-sync.md:18

  • The PR safe output is not restricted to the mirror paths. Because the agent consumes upstream repository content, omitting allowed-files lets a misleading or compromised source file produce changes anywhere outside the default protected-file list. Constrain the patch to the course pages/assets and the two navigation files.
  create-pull-request:
    labels: [automated-update, learning-hub, advanced-copilot-cli]
    title-prefix: "[bot] "
    base-branch: main


2. Use GitHub tools to fetch recent commits from `github-samples/advanced-copilot-cli` on the `main` branch:
- If `last_synced_sha` exists, list commits **since that SHA** (stop once you reach it).
- If no cached state exists, list commits from the **past 7 days**.
@aaronpowell

Copy link
Copy Markdown
Contributor

@GeekTrainer should we close this one because the other PR was merged?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-submission PR adds at least one new contribution website-update PR touches website content or code workflow PR touches workflow automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants